Skip to content

feat: add Cambricon hardware benchmarks - #49

Merged
Chamberlain0w0 merged 4 commits into
masterfrom
hardware/cambricon
Aug 10, 2026
Merged

feat: add Cambricon hardware benchmarks#49
Chamberlain0w0 merged 4 commits into
masterfrom
hardware/cambricon

Conversation

@baominghelly

@baominghelly baominghelly commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add the native Cambricon memory, STREAM, NRAM, and L2 cache benchmark suite
  • integrate Cambricon platform aliases, runtime detection, build selection, and result parsing into the existing hardware adapter
  • add focused adapter tests and update hardware benchmark documentation
  • correct the per-core NRAM workload and publish it as hardware.nram_bandwidth
  • use distinct pinned host buffers for bidirectional transfers and size all buffers to the largest 1 GiB sweep case
  • configure CMake to compile and link with a single cncc invocation
  • centralize NRAM alignment and chunk calculation across all seven kernels
  • consolidate the four STREAM warmup, notifier, and statistics paths without changing output
  • rebase onto the latest master while preserving the existing Ascend and InfiniOps integrations

Testing

  • tested commit: 33f7c424a20e915e73ef1d4369705865ba1a0a10
  • rebased onto master: 11269f2c31b191cc35c67ade0abd0a4798e386a6
  • complete local test suite: 78 passed
  • Black 23.9.1: passed
  • Python compileall: passed
  • git diff --check: passed
  • clean CMake configure and verbose build in accelerator-dev/cambricon:latest: passed
  • canonical build.sh native build: passed
  • MLU590-M9C physical device 0 on its local NUMA node 0: full adapter path passed
  • benchmark command: mlu_perf_suite --all --device 0 --iterations 2 --array-size 1048576
  • validated all 10 expected metrics:
    • hardware.mem_sweep_h2d
    • hardware.mem_sweep_d2h
    • hardware.mem_sweep_d2d
    • hardware.mem_sweep_bidirectional
    • hardware.stream_copy
    • hardware.stream_scale
    • hardware.stream_add
    • hardware.stream_triad
    • hardware.nram_bandwidth
    • hardware.gpu_cache_l2
  • 1024 MiB H2D/D2H/D2D/bidirectional: 27.57 / 27.57 / 348.68 / 36.04 GB/s
  • NRAM result: 15402.2 GB/s over 41.6 ms at 1.9 TFLOPS
  • normalized 175-line benchmark stdout signature matches the previously validated head be7f00fb
  • native log SHA256: B4E5CF9E398E49970FDC893864D4B2BC076883DFE0868B490EA2A496071412CB

Host-device bandwidth was measured with the process pinned to the accelerator-local NUMA node to avoid remote-NUMA host-memory placement. The stdout comparison normalizes only dynamic numeric values and horizontal padding; headings, line structure, table labels, metric order, fields, and units are unchanged.

@baominghelly
baominghelly marked this pull request as ready for review August 6, 2026 07:53
@Chamberlain0w0
Chamberlain0w0 merged commit 0924404 into master Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants